#ifndef EagerLogger_H
#define EagerLogger_H

#include <string>
#include <fstream>
#include <iostream>

class EagerLogger {
private:
    // 私有构造函数
    EagerLogger();
    // 禁止拷贝构造和赋值操作
    EagerLogger(const EagerLogger&) = delete;
    EagerLogger& operator=(const EagerLogger&) = delete;
    
    std::ofstream logFile;
    // 静态成员变量在类外初始化
    static EagerLogger* instance;

public:
    // 获取单例实例
    static EagerLogger* getInstance();
    
    // 日志记录方法
    void log(const std::string& message);
    void logError(const std::string& message);
    void logWarning(const std::string& message);
    
    ~EagerLogger();
};

#endif // EagerLogger_H 